package builder.database;

/**
 * 
 * @author Alex
 *
 */
public interface Table {
	
	/**
	 * Gets the name of the table corresponding to the current class.
	 * It should equal (case insensitive) the name of the table in the schema
	 * @return the table name of the current class
	 */
	public abstract String getTableName();
	
	/**
	 * Gets a mnemonic of the current class. This is typically 3 or 4
	 * characters in length.
	 * <br/>
	 * It should not contain any special characters and should
	 * in optimal circumstances strongly indicate the full table name.
	 * <br/>
	 * Example:<br/>
	 * <ul>
	 * 		<li>Table name: student</li>
	 * 		<li>Short name:	stud</li>
	 * </ul>
	 * <br/>
	 * <strong>It is required that this mnemonic is unique per application</strong>
	 * @return a mnemonic for the table name
	 */
	public abstract String getTableShortName();
}
